// 下载文档 简单处理

export function downloadFiles( fileType, path ) { //这个i是上面带的索引位
  console.log( path, '下载' )
  uni.downloadFile( {
    url: path, //下载地址，后端接口获取的链接
    success: ( data ) => {
      console.log( data, 'data' );
      if ( data.errMsg === 'downloadFile:ok' ) {
        uni.getFileSystemManager().saveFile( { //文件保存到本地
          tempFilePath: data.tempFilePath, //临时路径
          success: function ( res ) {
            uni.showToast( {
              icon: 'none',
              mask: true,
              title: '文件已保存：' + res.savedFilePath, //保存路径
              duration: 3000,
            } );
            setTimeout( () => { //可要可不要 这里测试一下是否下载成功
              //打开文档查看
              uni.openDocument( {
                filePath: res.savedFilePath,
                fileType,
                success: function ( res ) {
                  console.log( '打开文档成功' );
                },
                fail( err ) {
                  console.log( err, '打开失败' );
                }
              } );
            }, 2000 )
          }
        } );
      } else {
        console.log( '失败', );
        uni.$showMsg( data.errMsg )
      }
    },
    fail: ( err ) => {
      uni.showToast( {
        icon: 'none',
        mask: true,
        title: '失败请重新下载',
      } );
    },
  } );
  console.log( 'ooo' );
}

// 下载附件 多层考虑
export function downLoad( fileType, item ) {
  // 路径类型 需要自己传的时候做处理
  let urlArr = [ 'doc', 'xls', 'ppt', 'pdf', 'docx', 'xlsx', 'pptx' ]
  // url是文件路径，这个需要自己取。一般是后台传过来的
  let url = ''
  if ( typeof item === 'object' ) url = item.url
  else url = item
  // console.log( url );
  uni.showActionSheet( {
    itemList: [ "保存文件到本地" ],
    success: ( res ) => {
      if ( res.tapIndex == 0 ) {
        uni.showLoading( {
          title: "保存中..."
        } )
        uni.downloadFile( {
          url: url,
          success: ( result ) => {
            var tempFilePath = result.tempFilePath;
            // 这个地方开始分开表格和图片。检索到有'xlsx'字符串为表格。否则为图片
            if ( urlArr.includes( fileType ) ) {
              uni.getFileSystemManager().saveFile( { //文件保存到本地
                tempFilePath, //临时路径
                success: function ( res ) {
                  uni.showToast( {
                    icon: 'none',
                    mask: true,
                    title: '文件已保存：' + res.savedFilePath, //保存路径
                    duration: 3000,
                  } );
                  setTimeout( () => {
                    //打开文档查看
                    uni.openDocument( {
                      filePath: res.savedFilePath,
                      fileType,
                      success: function ( res ) {
                        console.log( '打开文档成功' );
                      },
                      fail( err ) {
                        console.log( err, '打开失败' );
                      }
                    } );
                  }, 1500 )
                }
              } );
            } else {
              uni.previewImage( {
                current: 1,
                urls: [ url ],
                success( res ) {
                  console.log( res, 'res打开成功' );
                },
                fail( err ) {
                  console.log( err, 'err' );
                },
                complete: () => {
                  uni.hideLoading();
                },
              } )
              // uni.saveImageToPhotosAlbum( {
              //   filePath: tempFilePath,
              //   success: () => {
              //     uni.showToast( {
              //       title: "保存成功",
              //       duration: 2000
              //     } )
              //   },
              //   fail: () => {
              //     console.log( "saveImageToPhotosAlbum 失败" );
              //     uni.hideLoading();
              //   },
              //   complete: function () {
              //     uni.hideLoading();
              //   }
              // } )
            }
          },
          fail: () => {
            console.log( "downloadFile 失败" );
          }
        } )
      }
    },
    fail: () => {
      console.log( "showActionSheet 失败" );
    }
  } )
}


/* 
 *    处理小程序权限问题 --- > cy
 */

export function checkAuth( menusList = [] ) {
  const permission_router = uni.getStorageSync( 'permission_router' )
  // return !!permission_router && menusList.map( v => v ).filter( x => permission_router
  //   .includes( x.key ) )
  // 开发使用下面的
  return menusList || ( !!permission_router && menusList.map( v => v ).filter( x =>
    permission_router
    .includes( x.key ) ) )
}

export function formatName(str) {
  return str.substr(0,1)+new Array(str.length).join('*') ;
}